<?php
class Application_Model_TbRi
{
    /**
     * Soma os pesos de todos os documentos que contiver um determinado termo
     * @param string $termo
     * @return Ambigous <multitype:, string, boolean, mixed>
     */
    public function somaPeso ($termo)
    {
        $tb = new Application_Model_DbTable_Tbri();
        $select = "SELECT sum(peso) AS w
    			   FROM tb_ri
    			   WHERE termo='$termo'";
        $result = $tb->getAdapter()->fetchAll($select);
        return $result;
    }
    
    /**
     * Retorna todas as campanhas que possuem um determinado termo
     * @param string $termo
     * @return Ambigous <multitype:, string, boolean, mixed>
     */
    public function findCampanhas($termo)
    {
    	/*select doc, sum(peso) 
		from  (tabela_) t
		group by doc
		order by sum(peso) desc;*/
    	$tb = new Application_Model_DbTable_Tbri();
        $select = "SELECT *
    			   FROM tb_ri 
    			   WHERE termo = '$termo'";
    	$result = $tb->getAdapter()->fetchAll($select);
    	return $result;
    }
    /**
     * Verifica se um indice foi removido do vetor
     * @param int $indice	indice atual
     * @param array $jump	vetor de indices que nao pode usar
     * @since 01/05/2012
     * @return boolean
     */
    public function verificaIndiceArray($indice,$jump)
    {
    	for ($i = 0; $i < count($jump); $i ++)
    	{
    		if($jump[$i]==$indice)
    		{
    			return true;
    		}
    	}
    	return false;
    }
    /**
     * Retorna o vetor organizado e com calculo dos pesos para casa campanha, todos os termos ja aninhados
     * @param array $result
     * @since 01/05/2012
     */
    public function calcularSimilaridade ($result)
    {
        for ($i = 0; $i < count($result); $i ++) {
            $w = $result[$i]['peso'];
            if ($w != '') {
                $similaridade = $w / (sqrt(pow($w, 2)));
                $similaridade == false ? $result[$i]['peso'] = 0 : $result[$i]['peso'] = $similaridade;
            }
        }
        return $result;
    }
}

